From: Keir Fraser Date: Tue, 12 Jan 2010 07:04:46 +0000 (+0000) Subject: libxenlight: typo in old patch, lead to waitpid forever instead of X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12756 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=02bc3705910bcee69389e2948454ead894608277;p=xen.git libxenlight: typo in old patch, lead to waitpid forever instead of waitpid with WNOHANG fixes qemu starting problem Signed-off-by: Vincent Hanquez --- diff --git a/tools/libxl/libxl_exec.c b/tools/libxl/libxl_exec.c index ba92019e4b..1588a1f547 100644 --- a/tools/libxl/libxl_exec.c +++ b/tools/libxl/libxl_exec.c @@ -45,7 +45,7 @@ static pid_t libxl_fork(struct libxl_ctx *ctx) static int call_waitpid(pid_t (*waitpid_cb)(pid_t, int *, int), pid_t pid, int *status, int options) { - return (waitpid_cb) ? waitpid_cb(pid, status, 0) : waitpid(pid, status, 0); + return (waitpid_cb) ? waitpid_cb(pid, status, options) : waitpid(pid, status, options); } void libxl_exec(struct libxl_ctx *ctx, int stdinfd, int stdoutfd, int stderrfd, @@ -202,7 +202,7 @@ int libxl_spawn_check(struct libxl_ctx *ctx, void *for_spawn_void) if (!for_spawn) return 0; assert(for_spawn->intermediate); - got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, 0); + got = call_waitpid(ctx->waitpid_instead, for_spawn->intermediate, &status, WNOHANG); if (!got) return 0; assert(got == for_spawn->intermediate);